草庐IT

c++ - python sys.stdout 和 C++ iostreams::cout

全部标签

C++ iostreams问题

我现在正在研究boost::iostreams我正在寻找一种方法来创建一个迭代某些container的流.现在我有适用于std::vector的代码,但它仅为它做,因为我写了std::vector-特定代码。我正在做以下事情:templatevoidLoad(Object&object,constContainer&container){usingnamespaceboost::iostreams;//Createastreamthatiteratesovervectoranduseitin//thefollowingprocedureLoadImpl(object,stream(&c

c++ - 没有来自 wxWidget 应用程序的 cout,但是使用 Eclipse 它工作正常

我的wxWidget应用程序没有生成任何std::cout...在Windows控制台(WindowsXP)上,当它从控制台启动时,例如:“调用MyApplication.exe”。它根本不会产生任何输出。该应用程序反而正确上升并且工作正常。Frame上的所有Buttons和Widgets都有它们的功能。当我从Eclipse运行我的应用程序时,它会按应有的方式向Eclipse的控制台生成输出。那么,为什么我在Windows控制台上看不到任何输出?我需要激活什么? 最佳答案 我一直对此很好奇,所以我点击了BoPersson'sansw

c# - 将 cout 从 C++ dll 重定向到 C# 中的文本框

我正在尝试将dll中方法的控制台输出(cout)显示到C#程序中的文本框。每次调用该方法时,控制台输出都会显示在VisualStudio的输出Pane中。有没有办法将输出Pane的内容重定向到文本框?dll是由其他人用C++编写的,我无法更改它。该dll使用SWIG包装,以便我的C#代码可以调用它。 最佳答案 在点击David建议的链接后,我决定针对您的问题编写一个更具体的解决方案。此版本允许您通过BackgroundWorkerPropertyChangedEventHandler回调在GUI中接收标准输出。这是ConsoleRe

c++ - 使用 dup2 将 stdout 与文件描述符交换并再次返回

代码如下:intmain(){std::cout我希望发生的是将“Instdout”打印到stdout,将“Inbuffer”打印到buffer.txt,然后再将“Instdout”打印到stdout。上面代码中实际发生的是“Instdout”被打印到stdout,“Inbuffer”被打印到buffer.txt”,但最后一个“Instdout”消息却无处可寻。 最佳答案 您需要做的就是将最后一个dup2()更改为:dup2(output,stdoutBack);为了...dup2(stdoutBack,1);您实际需要做的是将旧s

c++ - 对 `boost::iostreams::mapped_file_source::mapped_file_source()' 的 undefined reference

我正在测试boost的内存映射文件,但是一旦我声明了一个boost::iostreams::mapped_file,就像在这个程序中一样:#include//definesff_pipelineandff_Pipe#include#include#include#include#include#include#include#include"MapReduceJob.hpp"usingnamespaceff;intmain(intargc,char*argv[]){boost::iostreams::mapped_filemf;}使用这个makefile:#FastflowandBoo

c++ - 使用 boost iostreams 读取和写入数组到压缩文件

我想将一个数组写入一个文件,边写边压缩它。稍后,我想从该文件中读取数组,边解压边解压。Boost的Iostream似乎是一个不错的选择,所以我构建了以下代码。不幸的是,输出和输入数据最后比较不相等。但他们几乎做到了:OutputInput0.84018772840.84018802640.39438292380.39438301320.78309923410.78309899570.79844003920.79843997960.91164737940.91164702180.19755136970.19755099710.33522275090.3352229893这表明每个floa

笔记25:头文件<iostream>和<cstdio>有什么区别

C++中的  和  是两个不同的头文件一.关于头文件(1)是C++标准库中用于输入和输出流操作的头文件(2)它包含了cin和cout等流对象,用于标准输入和标准输出,通常用于C++中的高级输入和输出,例如从键盘读取用户输入和将数据输出到屏幕(3)示例用法:#includeusingnamespacestd;intmain(){intx;cout>x;cout二.关于头文件(1)是C标准库中用于C风格的输入和输出操作的头文件(2)它包含了printf和scanf等函数,用于格式化的输入和输出,虽然可以在C++中使用中的函数,但通常不推荐,因为C++提供了更安全和类型安全的替代方法,如中的流对象(

c++ - fprintf/fputs 与大字符串的 cout 性能

当我对fprintf()进行测试时,fputs(),和ofstreamoperator(,我意识到C函数(两者)提供了更好的运行时性能,但是当输入字符串变大时,两个C函数的运行速度都比C++的运算符慢。我想知道C++在小字符串上表现不佳的原因,以及它在大字符串上优于C的原因。欣赏它。注意:不幸的是,我无法共享大小超过1000个字符的字符串。测试结果-StringSize->20chars,C++(50chars,C++(1000chars,C++(2000chars,C++(50000chars,C++(100000chars,C++(这是代码#include#include#incl

c++ format cout with "right"and setw() for a string and float

我正在尝试格式化一个“cout”,它必须显示如下内容:Result$34.45金额($34.45)必须在右侧索引上,并带有一定数量的填充或在特定列位置结束。我尝试使用cout但是,它是为“$”字符串设置宽度,而不是为字符串加金额设置宽度。关于处理此类格式有什么建议吗? 最佳答案 您需要将"$"和值34.45组合成单独的字符串。像这样尝试:#include#include#include#includeusingnamespacestd;intmain(){stringstreamss;ss

c++ - 如何实现作用域 iostream 格式化?

我想在C++中限制I/O流格式化的影响,这样我就可以做这样的事情:std::cout以便在离开block时将基数、精度、填充等恢复到它们以前的值。这是我想到的最好的:#includeclassscoped_iofmt{std::ios&io_;//Thetruestreamweshadowstd::iosdummy_;//Dummystreamtoholdformatinformationpublic:explicitscoped_iofmt(std::ios&io):io_(io),dummy_(0){dummy_.copyfmt(io_);}~scoped_iofmt(){try{